cmake_minimum_required(
    VERSION 3.0
)

project(
    snappack_problem
)

include_directories(
    ${PROJECT_SOURCE_DIR}/include
)


####################################################
######################设置变量#######################
####################################################

set(
    EXECUTABLE_OUTPUT_PATH
    ${PROJECT_SOURCE_DIR}/bin
)

set(
    LIBRARY_OUTPUT_PATH
    ${PROJECT_SOURCE_DIR}/lib
)

####################################################
#######################库代码########################
####################################################

add_library(
    loadTestCase
    SHARED
    "./src/library/loadTestCase.c"
)

target_include_directories(
    loadTestCase
    PUBLIC
    "./include"
)


####################################################
######################实验代码#######################
####################################################

add_executable(
    read_from_file
    "./src/experiments/read_from_file.c"
)

add_executable(
    open_test
    "./src/experiments/open_test.c"
)

####################################################
######################实验代码#######################
####################################################


add_executable(
    testLoadTestCase
    "./src/debug/testLoadTestCase.c"
)

add_dependencies(
    testLoadTestCase
    loadTestCase
)

target_link_libraries(
    testLoadTestCase
    PUBLIC
    loadTestCase
)




####################################################
######################解题代码#######################
####################################################


add_executable(
    original_simple
    "./src/original_simple.c"
)

add_dependencies(
    original_simple
    loadTestCase
)

target_link_libraries(
    original_simple
    loadTestCase
)


add_executable(
    original_with_value
    "./src/original_with_value.c"
)

add_dependencies(
    original_with_value
    loadTestCase
)

target_link_libraries(
    original_with_value
    loadTestCase
)